feat: add es2026 as a valid target and lib - #64096
Daniel Rosenwasser (DanielRosenwasser) merged 27 commits into
Conversation
fefecb3 to
a022dd9
Compare
There was a problem hiding this comment.
Pull request overview
Adds ES2026 compiler-target and standard-library support, including the APIs requested by #63704.
Changes:
- Registers
es2026as a target, default standard target, and library. - Adds ES2026 API declarations and preserves
esnext.*aliases. - Adds conformance tests and refreshes generated baselines.
Reviewed changes
Copilot reviewed 136 out of 540 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
packages/typescript/src/enums/scriptTarget*.ts |
Exposes ES2026 publicly. |
packages/typescript/test/{async,sync}/api.test.ts |
Updates target diagnostics. |
tsc/internal/core/{compileroptions,scripttarget_stringer_generated}.go |
Defines and formats the target. |
tsc/internal/tsoptions/enummaps.go |
Registers target, libraries, and compatibility aliases. |
tsc/internal/transformers/estransforms/definitions.go |
Selects the ES2026 transform pipeline. |
tsc/internal/checker/utilities.go |
Adds ES2026 library suggestions. |
tsc/internal/bundled/libs/lib.es2026*.d.ts |
Defines the ES2026 library and APIs. |
tsc/internal/bundled/libs/lib.esnext.d.ts |
Makes ESNext inherit ES2026. |
tsc/internal/bundled/{embed_generated,libs_generated}.go |
Embeds and registers new libraries. |
tsc/internal/compiler/program_test.go |
Updates expected ESNext library ordering. |
tsc/testdata/fixtures/compiler/*.ts |
Synchronizes compiler fixtures. |
tsc/testdata/tests/cases/conformance/es2026/*.ts |
Tests ES2026 APIs and diagnostics. |
tsc/testdata/baselines/reference/** |
Refreshes generated compiler, build, watch, API, and conformance baselines. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🔵 Needs a closer look
The public target and library surface spans hundreds of generated baselines and warrants final human validation against the ES2026 specification.
Review details
- Files reviewed: 136/540 changed files
- Comments generated: 0 new
- Review effort level: Balanced
There was a problem hiding this comment.
🟡 Changes recommended
The jsonRawJSON2 source and checked-in baselines disagree, causing baseline tests to fail.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 146/553 changed files
- Comments generated: 1
- Review effort level: Balanced
|
Daniel Rosenwasser (@DanielRosenwasser) Here are the results of running the user tests with tsc comparing There were infrastructure failures potentially unrelated to your change:
Otherwise... Something interesting changed - please have a look. Details
|
|
Daniel Rosenwasser (@DanielRosenwasser) Here are the results of running the top 400 repos with tsc comparing Everything looks good! |
|
Hey Daniel Rosenwasser (@DanielRosenwasser), the results of running the DT tests are ready. Everything looks the same! |
Jake Bailey (jakebailey)
left a comment
There was a problem hiding this comment.
I don't think we typically add a slew of tests for lib files but, it's fine
|
I am happy to have lib tests to be honest. Separately, it looks like we have some baseline merge conflicts though. |
Fixes #63704